Skip to content

Бэкенд личных и командных чатов и каналов программ - #880

Draft
TThanos3000 wants to merge 16 commits into
devfrom
feat/dev-chat-drafts-20261113
Draft

TThanos3000 wants to merge 16 commits into
devfrom
feat/dev-chat-drafts-20261113

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Nov 13, 2026 •

Copy link
Copy Markdown
Collaborator

Единый черновик к dev для проверки всего стека чатов. Включает транзакционную отправку с повтором по client_message_id, персональные непрочитанные в командах, поиск, скачивание вложений с проверкой доступа, историю вокруг сообщения и синхронизацию после переподключения. Включает каналы программ, настройки личных сообщений, блокировку и жалобы, уведомления с упоминаниями и персональные черновики.

У черновика есть версия. Одновременная запись с другого устройства возвращает 409 с текущим текстом. Список показывает только наличие черновика. Организаторы могут работать с черновиками и публикациями через Django-админку.

При очистке очереди и сбросе обложки проекта сервер сохраняет файл, пока он прикреплен к видимому сообщению. При сбое Selectel запись файла сохраняется для повтора, API возвращает 502 с кодом file_delete_failed.

На коммите 8c4983c локально прошли 152 теста PostgreSQL. Отдельно проверено обновление chats с 0011 до 0018 на синтетических данных. API сохранил историю, ответ на сообщение, старое вложение и отметку прочтения. Для существующих опубликованной и черновой программ созданы каналы.

На 5ac88ed прошел 81 локальный тест PostgreSQL. Все четыре проверки GitHub зеленые. Полный прогон PostgreSQL выполнил 2047 тестов. Отдельный прогон через HTTP и WebSocket на локальном Daphne с PostgreSQL и тестовым хранилищем подтвердил повтор отправки с тем же ID, скачивание без изменения байтов, 409 при очистке опубликованного файла и 404 для участника после выхода из проекта. Автор по-прежнему скачивает вложение.

Контракт API и сценарий приемки на dev. Для скачивания клиент передает JWT. В тестах Selectel имитируется. Angular на dev (3edda90) открывает вложение обычной ссылкой. Защищенное скачивание требуется подключить к авторизованному HTTP-клиенту к моменту выкладки. На dev предстоит проверить скачивание контрольного файла, отзыв доступа к нему и тип контейнера.

Промежуточные изменения доступны в #870–#879. Этот PR содержит их суммарный diff, черновики, первый непрочитанный и дополнительные проверки вложений.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants